package org.eae.eldf.dao.sys.impl;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.eae.eldf.dao.sys.ISysBusLogDao;
import org.eae.eldf.dto.sys.SysBusLogQueryDto;
import org.eae.eldf.entity.sys.SysBusLog;
import org.eae.eldf.framework.dao.JdbcDaoImpl;
import org.eae.eldf.framework.pager.Pagination;
import org.springframework.stereotype.Repository;
@Repository
public class SysBusLogDaoImpl extends JdbcDaoImpl implements ISysBusLogDao{

	@Override
	public Pagination<SysBusLog> queryListBusLog(Pagination<SysBusLog> pager,
			SysBusLogQueryDto sysBusLogQueryDto) {
		// TODO Auto-generated method stub
		String sql="select * from sys_bus_log b ";
		List<Object> params=new ArrayList<Object>();
		if(null != sysBusLogQueryDto){
		if(StringUtils.isNotBlank(sysBusLogQueryDto.getCompanyCode()) && !sysBusLogQueryDto.getCompanyCode().equals("null")){
			sql+="where b.company_code = ? ";
			params.add(sysBusLogQueryDto.getCompanyCode());
		}
		if (sysBusLogQueryDto.getStartTime() !=null && sysBusLogQueryDto.getEndTime() !=null) {
			if(sql.indexOf("where")==-1){
				sql +="where b.create_time between ? and ?";
				
			}else {
				sql+="and b.create_time between ? and ?";
			}
			params.add(sysBusLogQueryDto.getStartTime());
			params.add(sysBusLogQueryDto.getEndTime());
		}
		if (sysBusLogQueryDto.getStartTime() !=null && sysBusLogQueryDto.getEndTime() ==null) {
			if(sql.indexOf("where")==-1){
				sql +="where b.create_time > ?";
			
			}else {
				sql +="and b.create_time > ?";
			
			}
			params.add(sysBusLogQueryDto.getStartTime());
		}
		if (sysBusLogQueryDto.getStartTime() ==null && sysBusLogQueryDto.getEndTime() !=null) {
			if(sql.indexOf("where")==-1){
				sql +="where b.create_time < ?";			
			}else {
				sql +="and b.create_time < ?";			
			}
			params.add(sysBusLogQueryDto.getEndTime());
		}
		}
		return this.queryListByPage(pager,sql,params,SysBusLog.class);
	}
	

}
